package Levels 
{
	import flash.display.MovieClip;
	import flash.events.MouseEvent;
	import flash.text.TextField;
	import flash.text.TextFormat;
	import Objetos.Heroi;
	import Objetos.Inimigo;
	import Objetos.Portal;
	/**
	 * ...
	 * @author ...
	 */
	public class Level extends MovieClip 
	{
		protected var MC_heroi				:Heroi;
		protected static var MC_inimigo		:Inimigo;
		protected var MC_portal				:Portal;
		protected var MC_portalEnd			:MovieClip;
		
		protected var AR_plat				:Array = new Array();
		//protected static var AR_herois  	:Array = new Array();
		//protected static var AR_inimigos	:Array = new Array();
		public static var AR_tiros			:Array = new Array();		
		
		protected var gameConstructor		:MovieClip;
		
		protected var TX_pontos				:TextField = new TextField();
		protected var TX_pontosFormat		:TextFormat = new TextFormat;
		
		protected var UI_pontos				:uint;
		
		public function Level() 
		{
			
		}
		
		public function update():void 
		{
			Main.getInstance().MC_tela.addChild(TX_pontos);	
			
<<<<<<< .mine
			if (MC_inimigo != null)
			MC_inimigo.update();
=======
			MC_inimigo.update();
>>>>>>> .r9
			
			TX_pontos.text = "Pontos: " + UI_pontos.toString() + "   || Nesta barra: Clique = música on | Scroll = música off";
			TX_pontos.x = Main.getStage().stageWidth / 2 - TX_pontos.width / 2;
			TX_pontos.textColor = 0x000066;
			TX_pontos.selectable = false;
			TX_pontos.width = 900;
			
			TX_pontosFormat.align = "center";
			TX_pontosFormat.font = "Arial";
			TX_pontosFormat.bold = true;
			TX_pontosFormat.size = 15;
			TX_pontos.defaultTextFormat = TX_pontosFormat;
			
			if (MC_heroi != null)
			{	
				MC_heroi.update();
				
				if (MC_heroi.BO_morreu)
				{
					Main.getInstance().MC_tela.removeChild(MC_heroi);
					MC_heroi = null;
<<<<<<< .mine
					trace("morri");
					
					//Main.getInstance().gameOver();
					
=======
					trace("morri");
					
					//Main.getInstance().gameOver();
>>>>>>> .r9
				}
				
<<<<<<< .mine
				else if (MC_inimigo != null && MC_heroi.hitTestObject(MC_inimigo))
				{
					MC_heroi.BO_morreu = true;					
				}				
			}
			
				for (var i:int = 0; i < AR_plat.length; i++)
=======
				else if (MC_heroi.hitTestObject(MC_inimigo))
>>>>>>> .r9
				{
<<<<<<< .mine
					if (MC_heroi != null && MC_heroi.hitTestObject(AR_plat[i]) && MC_heroi.getVelocidadeY > 0 && MC_heroi.y < AR_plat[i].y - 10)
=======
					MC_heroi.BO_morreu = true;					
					
				}				
			}
					for (var i:int = 0; i < AR_plat.length; i++)
>>>>>>> .r9
					{
<<<<<<< .mine
						MC_heroi.y = (AR_plat[i].y - AR_plat[i].height / 2) - MC_heroi.height / 2;						
						MC_heroi.trocarVelocidadeY = 0;
						MC_heroi.BO_pulando = false;
						trace (MC_heroi.BO_pulando)
						
					}
=======
						if (MC_heroi != null && MC_heroi.hitTestObject(AR_plat[i]) && MC_heroi.getVelocidadeY > 0 && MC_heroi.y < AR_plat[i].y - 10)
						{
							MC_heroi.y = (AR_plat[i].y - AR_plat[i].height / 2) - MC_heroi.height / 2;						
							MC_heroi.trocarVelocidadeY = 0;
							MC_heroi.BO_pulo = false;
						}
						
						else if (MC_inimigo.hitTestObject(AR_plat[i]) && MC_inimigo.getVelocityY > 0 && MC_inimigo.y < AR_plat[i].y - 10)
						{
							MC_inimigo.y = (AR_plat[i].y - AR_plat[i].height / 2) - MC_inimigo.height / 2;						
							MC_inimigo.trocarVelocityY = 0;
						}				
					}				
>>>>>>> .r9
					
<<<<<<< .mine
					
					else if (MC_inimigo != null && MC_inimigo.hitTestObject(AR_plat[i]) && MC_inimigo.getVelocityY > 0 && MC_inimigo.y < AR_plat[i].y - 10)
=======
					if (MC_heroi != null)
>>>>>>> .r9
					{
<<<<<<< .mine
						MC_inimigo.y = (AR_plat[i].y - AR_plat[i].height / 2) - MC_inimigo.height / 2;						
						MC_inimigo.trocarVelocityY = 0;
					}				
				}				
					
				if (MC_heroi != null)
				{
					
					if (MC_heroi.x >= Main.getInstance().stage.stageWidth - MC_heroi.width/2)
					{
						MC_heroi.x = Main.getInstance().stage.stageWidth - MC_heroi.width/2
						trace ("end1")
					}
					
					if (MC_heroi.x <= MC_heroi.width / 2)
					{
						MC_heroi.x = MC_heroi.width / 2
						trace ("end2")
					}
					
					if (MC_heroi.y >= Main.getInstance().stage.stageHeight - MC_heroi.height/2)
					{	
						MC_heroi.BO_morreu = true;
					}
				} 
				
=======
						
						if (MC_heroi.x >= Main.getInstance().stage.stageWidth - MC_heroi.width/2)
						{
							MC_heroi.x = Main.getInstance().stage.stageWidth - MC_heroi.width/2
							trace ("end1")
						}
						
						if (MC_heroi.x <= MC_heroi.width / 2)
						{
							MC_heroi.x = MC_heroi.width / 2
							trace ("end2")
						}
						
						if (MC_heroi.y >= Main.getInstance().stage.stageHeight - MC_heroi.height/2)
						{	
							MC_heroi.BO_morreu = true;
						}
					} 
				
			
>>>>>>> .r9
			
<<<<<<< .mine
				for (var k:int = 0; k < AR_tiros.length; k++)
=======
			for (var k:int = 0; k < AR_tiros.length; k++)
			{
				AR_tiros[k].update();
				
				if (AR_tiros[k] != null && MC_inimigo != null)
>>>>>>> .r9
				{
<<<<<<< .mine
					AR_tiros[k].update();
					
					if (AR_tiros[k] != null && MC_inimigo != null)
=======
					if (AR_tiros[k].hitTestObject(MC_inimigo))
>>>>>>> .r9
					{
<<<<<<< .mine
						if (AR_tiros[k].hitTestObject(MC_inimigo))
						{
							updatePontos();
							
							
							Main.getInstance().MC_tela.removeChild(AR_tiros[k]);
							AR_tiros.splice(k, 1);
							
							MC_inimigo.menosLife();
							if (MC_inimigo.UI_life == 0)
							{
							Main.getInstance().MC_tela.removeChild(MC_inimigo);
							MC_inimigo = null;
							}
							
							
							
						}
=======
						updatePontos();
						
>>>>>>> .r9
						
						Main.getInstance().MC_tela.removeChild(AR_tiros[k]);
						AR_tiros.splice(k, 1);
						
						Main.getInstance().MC_tela.removeChild(MC_inimigo);
						MC_inimigo = null;
						
					}
				}
<<<<<<< .mine
=======
			}
>>>>>>> .r9
			
			removerTiros();
			trace(AR_tiros.length)
			
		}
		
		public function removerTiros():void
		{
			for (var k:int = 0; k < AR_tiros.length; k++)
			{
				if (AR_tiros[k].scaleX > Main.getInstance().stage.stageWidth)
				{
					Main.getInstance().MC_tela.removeChild(AR_tiros[k]);
					AR_tiros.splice(k, 1);
					
					
				}
			}			
		}
		
		function updatePontos():void
		{
			UI_pontos +=  2;
			
		}
		
	}
}